操作步骤:
configuration–>Host–>选择对应的想要添加的监控项的主机的item选项–>create item。
如图所示:
监控项:
- 名称:随便取,但是要有意义
- 类型:zabbix agent 默认的
- key:可以选择(能支持的key有很多),自己创建一个叫nginx.active
- host interface:选择默认就好
- type of information:监控项的数据类型,默认就是numberic
- data type:decimal
- Units:默认就是不设置,这个是单位值
- Use Custom multipllier:用户收到的值都会乘以这个文本框内的值
- update interval:默认是30s,一般不要低于60s,没有必要那么频繁
- custom intervals:自定义创建时间间隔,比如固定的时间段监控的比较频繁,可以把interval在固定时间段调短
- History storage period:历史数据存储的周期
- trend storage period:趋势图要保存多久,默认是365,电商可能要存三年
- show value:值映射
- New Application:监控项的组。比如很多监控项可以划分到一个监控项的组里
- Applications:如果上面的那个没写可以在这里选择一个
- Populartes host inventory field:资产管理。如果选择auto会自动获取并映射过去自动填充
- Description:必须要写,描述这个监控项是干什么用的
这里就以监控nginx的活动连接数为例:
修改nginx的配置文件,添加状态模块开启的一段配置
|
|
然后重启nginx,在zabbix server端访问一下
|
|
说明设置OK了,然后把这个Active connections取出来
|
|
在脚本这执行成功说明已经可以正常的取到nginx的动态连接数了,但是要想让zabbix去监控到这个数据,这就需要让zabbix去执行这个命令取到这个值。这里需要改一下zabbix的配置文件
|
|
将
|
|
修改为
|
|
这个配置文件中的注释需要打开,目的是允许存放个人自定义的配置文件。比如写的nginx监控动态连接数的文件。而且这个目录默认是不存在的,需要创建。但是针对不同的系统版本文件目录名也不一样,比如在centos7上,这个目录就叫做zabbix_agentd.d,而且centos7上的目录是存在的,无需手动创建。
创建监控nginx动态链接数的配置文件
|
|
其中UserParameter=nginx.active为定义key,nginx.active就是key的名称,逗号后面就是对应的这个key要执行什么命令,就是刚才在命令行执行的获取Active Connetions的命令,注意这里尽量要写绝对路径。
在server端使用zabbix-get取值测试
|
|
测试成功,说明求值没有问题,zabbix也可以进行正常的调用。这样一个item就添加完成了。
最后针对监控的项的参数设置再详细说明一下:
Name:
监控项的名称,可以使用如下宏变量:
$1,$2…$9,这9个参数对应item key的参数位置。
例如:Free disk space on $1
如果 item key 为 “vfs.fs.size[/,free]”,那么对应的名称会变成“Free disk space on /”,$1对应了第一个参数“/”
Type of Information:
简单来说就是key返回的值的数据类型,主要有以下几种
- Numeric (unsigned) – 64bit unsigned integer
- Numeric (float) – floating point
- numberCharacter – 字符串,最长 255 字节
- Log – 日志文件. key 必须为 log[].
- Text – 大小无限制的文本
Units:
前面说到这个是单位值,默认情况下,如果原始值超过1000,呢吗它会先除以1000并且显示出来。例如,设置了单位为bps并且收到的值为11102,将会显示为11.1Kbps
如果单位备指定B(byte),Bps(bytes per second),呢么它会除以1024然后再显示数据。所以在监控流量和文件大小的时候不要用错单位,否则会出现数据不一致的情况。
如下为时间单位:
- unixtime - 转为 “yyyy.mm.dd hh:mm:ss”,只能使用正数
- uptime - 转为 “hh:mm:ss”或者“N days,hh:mm:ss”
例如,收到的值为881764(单位秒),它将会被显示为 “10d 4h 56m”,只会显示3个单元。
有时候只会显示2个单元,例如“1m 5h”(不包含分、秒、毫秒),如果返回的值小于0.001,它只会显示“〈1 ms”经用单位:ms、rpm、RPM、%
Units可以结合Use Custom multiple使用,乘以对应的倍数显示想要的数值。
show value
值映射,需要配置数字银蛇到字符的映射表。
例如:
1=>ttlsa.com 访问正常。如果 key 返回的数据为 1,那么监控页面不会显示 1,而是显示 ttlsa.com 访问正常。 key 返回的数据只能为整数,并且不做任何修改保存到数据库中。只有在显示的时候才会根据映射表来展示相应的内容。